home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revolution - Das Atari CD Magazin 1997
/
Revolution - Das Atari CD Magazin 1.iso
/
software
/
anwendng
/
utility
/
m_saver
/
paula
/
paula_e.txt
next >
Wrap
Text File
|
1994-10-25
|
32KB
|
717 lines
PAULA ][
(Paula, take two!)
An Amiga-MODfile-Player
for the Atari TT & STE
Version 2.4
15.9.1994
Shareware by: Pascal Fellerich
Shareware
=========
Starting with version 2.0 Paula is shareware. That means that you may
distribute and test this software freely. But if you use it regularly
you have to register.
At the beginning Paula was a little utility to play modfiles which I
wrote in some weeks. As the reactions on this little piece of software
were very positive, I decided to rewrite the player completely which
made it possible to integrate many new features. Paula has become a
real powerful program which has no equivalent until now. So I decided
to release it as shareware. You'll find details in the paragraph
'Registration Procedure'.
The following files are part of the 'PAULA'-package and must remain
unchanged and be distributed together:
1. PAULA.APP The main program (alternative names are PAULA.ACC or
PAULA.PRG)
2. PAULA_D.TXT the german manual
3. PAULA_E.TXT the english manual
4. MP.TTP ModPlay: a little utility to play modules even from CLI's.
5. MP.C the source code of ModPlay
6. MP.PRJ Project-File for use with Pure-C
7. CHECKMOD.TTP Checks if a module is OK and repairs corrupted
modfiles as far as this is possible.
If your version of PAULA needs a key(** The versions 2.0 to 2.3 and
possibly also versions from 2.5 on need a key to reenable some blocked
features.**): The file 'PAULA.INF' must not be given away as this file
contains your registration data. Of course all modifications to one
of these files are forbidden! Paula may be distributed via BBS and on
'Public Domain' disks; however the shareware status of this software
is not affected!
All rights reserved by P. Fellerich..
Contact address: Pascal Fellerich
45, rue des Genêts
L-3482 Dudelange
(Luxembourg)
E-Mail: 2:270/16.3 (Fido-Net)
fellerich@fido.lu (Internet)
Registration procedure
======================
Paula is shareware. This means that you have to pay for it when you
use it regularly. The versions 2.0 up to 2.3 needed a key to enable all
the features, a key you could only obtain by paying your registration
fee. The version 2.4 does not have a key or any similar restrictions.
To prevent excessive illegal use of this program it's up to you to
decide how much to pay! If you want to register, please send me:
· Your address (legible, please)
Name: <first name> <name> (30 chars maximum)
Addr: <street> (30 chars maximum)
City: <zip> <city> (30 chars maximum)
· The shareware fee with a remark that it's for Paula. To avoid any
complications I only accept cash money (BEF/LUF, DM, US$, UK£...)
I'll send you your personal key for Paula ][ which is needed for
older and perhaps also newer releases. If you have any questions
and/or suggestions I'll be glad to help you.
Why Paula?
==========
Paula plays the so-called 'modfiles' using the STE/TT PCM sound chip.
These modfiles, also called 'modules', originate from the Amiga which
has a special four-channel PCM soundchip called 'Paula'.
Paula doesn't claim to be the only or the fastest modplayer available
for the Atari, but it has a unique combination of a perfect GEM user
interface and a highly sophisticated sound processing unit.
What does Paula?
===============
To avoid a rather lengthy description, here is a short list with
Paula's features:
· Compatible to really all MOD-formats, ranging from the old
Soundtracker format to the new Protracker format.
· Three sampling frequencies are available: 12.5, 25, 50 KHz (when
using Paula on ST's with a little help from the sound-driver
'PETRA' it's 6, 9.6 and 12 KHz).
· Linear interpolation option giving a great improvement in sound
quality.
· Booster option, rising the S/N ratio by 6 dB.
· Completely independent pitch and speed tuning.
· Supports LZ5 or AFX packed modules.
· Real GEM - consequently it will run on any TOS-machine. This also
includes Atari's MultiTOS, Magix ...
· Simple and intuitive control
· Supports extended selection features of Selectric™ and Gemini
· Programmable like a simple CD player
· Random: random play of several modules.
· Repeat-switch: one module or a whole selection may be repeated
indefinitely
· CPU Load and position display
How it began...
===============
When I got my TT I wanted to hear the new sound chip. So I downloaded
some modplayers for the STE and tried them. Unfortunately most of them
crashed, and those which ran on the 68030 produced 'lo-fi' (low
fidelity) sound. So I had to write a player on my own. But that was
easier said than done - I had to acquire the knowledge of the 'real'
PAULA-chip in the Amiga and of course of the STE/TT sound hardware
simply because I wanted to port an old replay routine from the Amiga
(D.O.C. replayroutine 2.0 from june 1986). Some weeks later Paula 1.0
was 'up and running'. This release was still buggy and had limited
capacities but it finally worked fine on the TT. After several
optimizations and improvements I concluded the development at v1.5.
In april 92 a discussion in the fidonet BBS re-ignited the global
interest in the module player, and I decided to continue the
development. The versions 1.7 and 1.8 were released. In the meantime,
the sound quality was greatly enhanced but still the user interface was
lousy. So I rewrote the whole thing - that's it...
System requirements
===================
Paula runs on any machine that has:
1. a TOS-compatible operating system, starting with TOS 1.4
2. an STE-compatible sound hardware - or the sound driver PETRA
However, only the faster machines allow decent background use of
Paula; a stock STE running at 8 MHz won't do 25 KHz sampling frequency.
A MegaSTE at 16 MHz is fine, a TT is better.
To be able to run Paula on ST's without the PCM sound chip you need
PETRA - a sound driver for Paula by Christian Limpach.
Installation
============
Paula may run as an accessory or as an application. With normal TOS
versions the accessory mode is useful, under MultiTOS you may find it
better to use it as a program. Of course you may use 'the Chameleon'
(or any other good accessory loader) to load the ACC..
Under MultiTOS or Magix Paula may also run as a background task, but
then you may not close it's main window without leaving the program!
Another useful thing is XCONTROL - you should have installed the
'SOUND' cpx-module so that you can change the volume, treble, bass and
balance. Moreover you should connect your computer to your stereo
equipment (via the RCA jacks) to get the best possible sound.
User's Guide
============
After you have launched Paula you get a window containing the main
dialog. This one is subdivided into 6 areas:
1. the info line
2. the Player & Sound Setup
3. SampleFreq
4. CPU Load
5. Position
6. the player's control keys
The control keys
These controls are hopefully the simplest. They carry the commonly
used symbols you also find on a cassette tape recorder, so you should
be familiar with those. Note that every key is marked with a little
letter in the upper left corner - that's the keyboard shortcut. Press
'L' to Load a file.
LOAD: First you must load a module. When you click on the LOAD-button
you get the file selector in order to select a module. On 'OK' Paula
immediately loads the module. If this operation was successful the info
line of the window will show the text 'Stopped: <modfilename>'. If an
error occurred you will be informed by a standard alert box. If you
have installed 'Selectric™' as a file selector, you may also specify
more than one module!
STOP: Well, this one stops a module and resets the player. This also
clears Paula's memory - if you had selected several modules Paula will
forget them. The info bar shows 'Stopped: ...'. In accessory mode,
closing the window in the stopped state also releases the memory
allocated for the last loaded module.
PLAY: Starts the player. If you haven't selected a module Paula will
prompt you to do so. If you press 'PLAY' when Paula is busy playing one
of several modules it will skip to the next module. (Skip function).
PAUSE: Stops the player temporarily. The player is not reset! In that
state you may also quit the accessory (close the window) without losing
the current module. To continue, press PAUSE or PLAY.
REW: (REWIND) Jumps to the previous position in the module. This
function works only if Paula is in the 'playing' or 'paused' state.
FF: (FAST FORWARD) Jumps to the next position in the module. This
function too only works in play- or pause-mode.
!: (Exclamation sign) Invokes the SETUP-dialog which offers some more
functions like pitch and speed tuning.
?: (Question mark) Some general informations about Paula. Through
this dialog you also get the registration dialog. How to register is
described some pages later (title: Registration procedure)
Try to familiarize yourself with these commands by simply trying them
out! Whatever you do, you will not succeed in crashing Paula - even not
on machines with memory protection.
The info line
=============
Paula uses the info line of the window to display it's current status
as well as the title of the currently loaded module. Currently four
states are defined:
Inactive: Paula does nothing. No file is loaded and no memory is
allocated. When you change resolutions Paula should preferably be in
this mode to avoid memory loss or system crashes.
Stopped: Paula has loaded a module. If you change resolution now you
will lose the allocated memory because you didn't give Paula a chance
to release it.
Paused: Paula is waiting to continue. The FF and REW buttons work.
Playing: Paula is busy - don't you hear that? If another program
accesses the sound hardware Paula is stopped, of course. But as soon as
the soundchip gets freed Paula tries to continue, which may take up to
1 second. If not, this is a bug and should be reported. However you
may manually relaunch the player by pressing the PAUSE-button twice.
SampleFreq
==========
You may choose the sampling frequency used by Paula. Currently there
are three possibilities: 12.5, 25 and 50 KHz. The higher the sampling
frequency the better the high frequency response. Theoretically the
highest sound frequency is half the value of thesampling frequency
(cf Shannon's sampling theorem). On the Atari hardware it's about 40%
of the sampling frequency. When using 25 KHz samplefreq you get up to
10 KHz sound frequency.
Changes in the sampling frequency are immediately effective. During
the switching the sound is muted for a very short moment to avoid
chirping and click noises.
Player & Sound Setup
====================
In that area you find two types of switches:
· switches to influence the sound synthesizer
· switches to change the replay modes
ג Interpolate: Enables the realtime interpolation of the samples. This
gives a much better sound quality but it requires a lot of CPU power.
On a TT this is a must because the 68030 does multiplication and shift
ops much faster than the 68000 CPU. By the way, this also applies to
the 68020 - so if you have a 020- board installed in your STE...
ג Booster: Increases the output signal by 6 dB using a little trick.
This improves the signal to noise ratio but it also introduces a
certain amount of distorsions, especially when playing high-level
signals. As these distorsions are mainly of the second order it
shouldn't sound too awful.
ג Protracker: Enables the protracker compatibility. In general, sound
modules are upwards compatible so that a new player should play
correctly an old module, but unfortunately the protracker introduced
some features which are more critical. So you have the possibility to
switch off some of the new protracker commands. However, old 15-
instrument modules are played with protracker-mode disabled,
regardless of the switch position.
ג Repeat: This switch has two meanings, depending on how many modules
you have selected. If you have selected a single module, this module is
repeated, else the whole bunch of modules is repeated. By the way,
there are some modules which use 'jump' commands to build an endless
loop. Paula recognizes these and interrupts them.
ג Random: This is the random play function. If you have selected
several modules, they will be played in random order - but every module
only one time! After every module has been played, Paula stops or
restarts the whole process, depending on the 'Repeat' switch.
CPU-Load display
================
This bargraph shows the amount of cpu time Paula needs for the sound
synthesis. It is a relative display, 100% are always the total cpu
time, no matter what processor you have. No Landmark or Norton - that's
simply not informative enough.
At the right edge of the cpu load bargraph there is a little red box
which flashes every time your machine was not fast enough.
Position
========
This display shows the current position in the module. It's using the
hexadecimal format - you know, programmers do it in hex!
General instructions
====================
The main commands are mainly intuitive and should be easy to use. But
there are also some special functions which are not so evident. These
are:
· leaving the main dialog
· selecting multiple modules ('multiplay mode')
· key command logic
· hidden features
When you close the main window and Paula is an accessory, the player
will continue. Moreover you may close this window by simply pressing
the <Return> key - the same as in XCONTROL.ACC.
But if Paula runs as a program, closing the main window will
terminate the program and the player will of course be stopped. so in
PRG mode you can't quit by pressing <Return> - you must click on the
closer-gadget of the window.
Multiple choice... The simplest way to select more than one module is
to use wildcards. Instead of selecting a file in the file selector
simply choose the right path then type the file specification, e.g.
'A*.MOD'. This would play any module whose name starts with 'A'. If
you simply want to have all modules played which are located in one
directory, simply select that directory but don't enter a name. Paula
will then automatically select any file which matches '*.MOD'.
...using Selectric: If you use 'Selectric™' as a file selector
you may select multiple files (shift-key + mouse click), Paula will
load them. You'll find details in the Selectric-manual.
...with the Desktop, Gemini, EASE etc: Install PAULA as an
application for the files of the type 'MOD'. Paula does not only
evaluate its command line but also understand VA_START (or MP_START)
messages.
Some words about the key command logic: Paula always tries to stay in
the current mode. If a module is running and you load another one, the
newly loaded module is immediately played. If Paula was stopped when
you select multiple modules, it will go into the 'pause'-mode. This has
to be done that way because Paula will forget everything as soon as it
enters the 'Stopped' mode. I suggest that you try these commands to
familiarize yourself with it.
Extras: Paula is prepared for multitasking environments. This means:
· Paula evaluates its command line.
· Paula understands VA_START and own (MP_...) messages.
· Paula identifies already running copies of itself and passes the
command line to the running copy, so that there's only one instance of
the program running at the time(** Not true for the accessory version:
Paula can be installed as often as you like as an accessory.**).
Setup-Page dialog
=================
This dialog box is called with the '!'-command. It offers some nice
features to manipulate the sound as well as the 'save'- function.
Pitch Bend (cent): This is a fine tuning function. 100 cent is one
half tone, and you may (fine-)detune Paula by one half tone. The
standard tuning corresponds to a 'NTSC'-Amiga with 7.15909 MHz clock
frequency. To get the 'PAL'-Amiga tuning, set the pitch bender to -
10..-15 cent. The steps are 5 cent, a finer step is not needed as the
human ear has already problems to detect a detuning by 5 cent..
Transpose: This is the coarse tuning function. It changes the tuning
in half tone steps, maximum is 12 half tones which corresponds to one
octave.
Frame Speed: This is the 'ticker' speed used as a speed reference in
the module. On the Amiga this is the 50 Hz VBlank interrupt, so the
standard setting is 50 Hz. Paula allows any value from half to double
speed (25..100 Hz).
Save: Saves the current setup into the 'PAULA.INF' file and then
leaves the dialog. Note that all settings are saved, the main dialog
settings as well as your registration data.
Exit: Leaves the dialog without changing anything. However the
changes you have made will not be undone.
Reset: Resets the three settings (Pitch fine/coarse, Speed) and
leaves the dialog.
Info Page dialog:
=================
The unavoidable info box... and also a nice way to remind you
sometimes of the fact that you are still using an unregistered copy!
Packed modules!
===============
Paula 2.1 supports LZ5 or AFX packed modules. To make such packed
modules you can use LHARC 2.01 or higher! Suppose that you have all
your modules gathered in the directory C:\MODFILES and your hard disk
is getting full. Then launch LHARC.TTP and enter as a commandline: 'c
C:\MODFILES\*.MOD'. The LHARC program will then pack all your modules,
reducing them to approximatively to 75% of their original size. Paula
will not make any difference between packed and unpacked modules, so
this is completely transparent to the user.
Error messages
==============
Paula normally reports errors using standard alert boxes. To avoid
problems with unwanted alert boxes popping up Paula won't complain
about it's problems if it's main window is closed.
Let's assume you selected the modules, A.MOD, B.MOD and C.MOD; random
mode is off. Paula starts playing A.MOD, the you close the window.
After finishing with A.MOD, Paula tries to load B.MOD. If this does not
succeed Paula will stop any further activities and will go into the
'Inactive' state. If you invoke Paula and select 'LOAD', you will see
the name an path of the module which caused the error.
If you get the message 'Corrupted MODfile' this means that the
selected module cannot be played. In that case try the utility
'CHECKMOD.TTP' which analyzes a module and also repairs it - if
possible.
More informations
=================
A module contains up to 31 different samples which are also called
'instruments'. To play a given sample at different pitches the Amiga
simply varies the replay sampling frequency. The higher the sampling
frequency the higher the note. As the Amiga has four independent
sound channels, each one having it's own D/A converter it can play
four different samples simultaneously without the help of the CPU.
The Atari has only two channels (stereo L + R) which are not
independent and only four fixed sampling rates. So another trick must
be used to simulate the Amiga Chip - the 'direct digital synthesis',
or 'resampling' as this process is more widely called. It's not
difficult to understand: the sample data is not replayed at a 1:1
rate but with an 1:R rate where R is a floating point number. If you
want to play a sample at half speed R is 2 - every byte of the sample
is output twice. If you want it to be at 75% of it's original speed, R
is 1.5 - this time one byte is output twice, the second is output once
and so on. Unfortunately the sampling data is output irregularly -
which gives a distorted sound. There are two ways of eliminating these
distorsions. Either make the step 'R' rather big (this would require
very large samples originally sampled at a very high rate) or
interpolate the output data. The best thing would be a spline
interpolation but unfortunately this requires matrix operations, so
Paula uses a simple linear interpolation. Don't confuse it with the
'oversampling' of some other module players - they only double the
output data and set the sound hardware to the double sampling frequency.
The resulting sound is of a very high quality - at 50 KHz sampling
rate even better than the Amiga! This is due to the fact that the
TT/STE has no 7 KHz low pass filter which cuts off the high
frequencies. If the Amiga switches of this filter it also prod
uces more trebles but also more aliasing components. If you doubt
about that take an Amiga, listen to it and read about the facts in the
Hardware Reference Manual [2].
However the Amiga has a larger dynamic range due to it's four volume
registers which introduce another 36 dB dynamic - but that is not the
same thing as the signal-to-noise ratio which is always 48 dB for 8 bit
systems (theoretically of course; some systems are disturbed by the RF
present in the computer). The D/A converters used in the Amiga are
sometimes called 'floating point converters'. In order to cope with
this Paula has the 'Boost' option. This option simply simulates a 9
bit D/A converter by using a nonlinear conversion scheme. The result
is OK for low volume MODs but it introduces additional distorsion at
high output levels.
If you don't mind about how the interpolation routine works, skip the
following paragraph. If not - I hope you know how to read a C routine.
/* Fix-Point number, representing the replay step size */
typedef struct fxp {
int ip; /* integer part (1/1) */
int fp; /* fractional part (1/65536) */
} fixpoint;
/* Fetch a byte from the sample data and calculate the correct
* in-between value.
* Param: spl: pointer to the sample
* index: index inside the sample as fixpoint number
* volume: Amiga-Volumeregister value, 0..64
* Return: resulting sample value.
* Bereich: 14 bit (8 bit sample + 6 bit volume info)
*/
int get_samplevalue( char *spl, fixpoint index, int volume )
{
int s1,s2; /* sample values sn and sn+1 */
s1 = volume * spl[index.ip];
s2 = volume * spl[index.ip+1];
return (((s2-s1)*index.fp)/65536 + s1);
}
Besides in this routine the index has to be incremented (addition of
two fix point numbers), the return value must be scaled and saved,
and the sample must be checked if it has reached the end. As there
are four channels which must be calculated the above routine is
called 200,000 times per second. To make this run in real time a lot
of optimizations must be done. Even the 68030 would be totally
overworked if these routines were really written in C (that means: I
am better than my C compiler...).
A really nice chapter: BUGS & LIMITATIONS!
==========================================
Collisions: Normally Paula should not interfere with any other
program - but problems with other utilities accessing the sound
hardware are unavoidable. As long as the 'opponent' is well programmed
nothing will happen - except that Paula is stopped as long as the
other program uses the sound chip. A simple test: run two Paulas...
(if you can!)
Overload: When your computer is totally overloaded the internal
timing is somewhat confused. As a consequence the moment when Paula
writes into the sound registers is undetermined. So it may happen that
the sound chip starts playing the wrong data - however the registers
contain the right values! In that case, choose a lower sampling
frequency or switch of the interpolation. Or have you forgotten to
turn on the 68030 cache??
Resolution change: Before you change resolutions make sure that Paula
is inactive. Call Paula, press 'STOP' and leave Paula again. Under
MultiTOS the problem might be solved if the OS sends an AP_TERM message
to every application - because this tells Paula to stop all activities.
Protracker 'CIA'-replay-speed: From version 2.2 on the CIA speed
setup works exactly as in the original. The disadvantage is that some
Noisetracker modules are now played incorrectly; so you have to switch
off the protracker mode when you play such modules.
System crash on STE's: I know of two 1040STE computers on which Paula
doesn't run. The symptoms: the computer freezes, the only escape being
the reset button. This is likely to be a hardware problem as there is
absolutely no link between the crashes and the modules played. Similar
symptoms were experienced on a 1040STE with a 16MHz processor card - it
crashed due to a cache problem. If you have such an STE - sorry, no
remedy, it's a hardware bug! The version 2.4 has a TAS opcode removed,
so the chance of being able to run Paula increases somewhat on these
machines...
Internals
=========
GEM-message interface: Paula responds to the 'VA_START'-message
(introduced by Gemini). This message contains a pointer (in msg[3] and
msg[4]) which is evaluated by Paula:
· Null pointer or Pointer to an empty string: Same reaction as for
AC_OPEN
· Pointer to a string with a filename: Paula tries to load and play
that file.
· Pointer to a string with multiple filenames: Paula goes into
multiplay mode and plays all of these files.
The string is copied internally by Paula, so it may be local on the
writer's side. However the memory must be readable - beware of the
MultiTOS memory protection!!! The string also must contain complete
path and name indications, NO WILDCARDS. The source code of MP
(ModPlay) may serve you as an example.
From version 2.4 on there are more messages:
· MP_ACK (0x4800): Paula says OK! The previous command was
understood.msg[7] contains the version number of the program;
0x204 = v2.4
· MP_NAK (0x4801): Paula says NOT OK! The previous command wasn't
understood or rejected. msg[7] contains the version number of the
program.
· MP_START (0x4802): works identical to VA_START, but after having
taken over the command string Paula replies with a MP_ACK or MP_NAK
message, thus signalling the the memory area for the string may
be used for other purposes. This is very important in
multitasking systems.
· MP_STOP (0x4803): stops Paula and releases the memory. The
window stays open. Paula replies with MP_ACK.
· MP_SHUTDOWN (0x4804): Stops and terminates Paula. In accessory mode
only the memory is released and the window is closed.
Vector stealing... Paula uses the IO7 interrupt of the 68901-MFP. Of
course the 'XBRA' protocol is used, it's magic is 'PAUL'.
Memory usage: Paula needs some 45 KB for it's program code and data.
On machines with a 68000 processor another 15 KB are used for the
volume tables.
Emergency stop: Want to kill Paula? Well, don't forget to send an
MP_SHUTDOWN message (GEM msg #0x4804) to it before doing so.
Speeeeed! To save CPU time on your TT Paula should be loaded into
FastRAM and the processor cache should be enabled. Without cache
Paula will probably have problems doing 50 KHz with interpolation...
May the schwartz be with you!
Hardware: Timer A and the wonderful Yamaha sound chip are not
touched. The key click and the wonderful 'bell' sound won't be
affected. Moreover you may also use STSPEECH or any other utility to
produce digital sound effects on the Yamaha chip.
Development: Paula 2 was developed using the Pure C compiler and the
Pure Assembler. The 'real MODplayer', the replay routine is based on
the 'Protracker 2.1B Player' of the Amiga Freelancers.
Thanx for the help...: helpful people were:
Joel François: Amiga documentation, D.O.C. Replay Routine
Fridolin Koch: Protracker Replay Routine, good mods
Georges Kesseler: beta tester, optimization ideas, repeat-killer
Christian Limpach: beta tester, ST-Sound driver!
MP - ModPlay Interface
======================
MP.PRG is a simple utility which gives you the possibility to launch
modules from a command shell. MP simply sends a MP_START message to
Paula. MP doesn't evaluate wildcards but it is aware of the ARGV method
to deal with large command lines (link it with 'PCVSTART.O' when
compiling it with Pure C). This is ideal for use with MintShel or
Mupfel.
Also try to install MP as a application for '*.MOD'-files in the
standard DeskTop - you may then listen to modules by double clicking
them, provided PAULA is installed as an accessory!
MP is not an example for a good C programming style - it is very
simple and straightforward. MP.TTP and MP.C are public domain.
CHECKMOD - repair corrupted mods
================================
Eventually Paula will refuse a module with the comment 'Corrupted
MODfile'. In that case use CHECKMOD to check and maybe repair the
module in question. Simply start CHECKMOD and type in the name of the
module to test. Under TOS 2.06/3.06 drag the module's icon onto the
CHECKMOD icon.
Checkmod will then read the module and control it's internal
structures. It displays a list with the used instruments and reports
the error. These may be:
Corrupted Pattern List: Sorry, but this module cannot be repaired.
Short Sample: A sample is too short. If this affects only the last
sample and if the difference isn't too big Checkmod will probably be
successful. Paula tolerates 4 lacking bytes.
Superfluous Data in MODfile: No problem - this module simply has some
garbage appended. Checkmod cuts it off, because Paula tolerates only up
to 256 bytes of garbage.
After running Checkmod you get the text 'Save Module as:'. Press
<Return> to leave, or enter a single dot '.' to save the module under
it's current name. Or enter a new path and name to save the module
using another name.
Bibliography
============
[1] Jankowski/Rabich/Reschke
Atari Profibuch ST/STE/TT
Sybex Verlag, ISBN 3-88745-888-5
[2] Amiga Hardware Reference Manual
Addison-Wesley, ISBN 0-201-18157-6
[3] Thomsen
Digitale Audiotechnik
Franzis' Verlag, ISBN 3-7723-7151-5
[4] DDS - Direkte Digitale Synthese
Elektor No257, Mai 1992, s.52ff
[5] Ulrich Michels
dtv Atlas zur Musik, Band 1 (Akustik, Wellenlehre, Tonparameter)
Deutscher Taschenbuch Verlag, ISBN 3-423-03022-4
Registration form
=================
I use PAULA, Version 2._ _ and want to register.
First, Last name: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Street: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Zip, City: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _
Some room for comments, ideas and bug reports (please tell me about
your hardware when you have problems with the MOD player, this helps a
lot):